Compiling Emacs Lisp to Scheme
نویسنده
چکیده
We present a metacircular compiler written in Scheme that compiles Emacs Lisp to Scheme code. The compiler either emits source text or a Scheme function immediately useable at the prompt of the Scheme implementation running the compiler. This characteristic makes the compiler especially useful in an interactive setting. Thus, our compiler provides a basis for running unchanged Emacs Lisp code in a Emacs editor using Scheme as its extension language. In this paper we show how to compile Emacs Lisp particularities such as functions with complex signatures and symbols to efficient Scheme code.
منابع مشابه
Mixing Lisps in Kawa
Kawa started as a Scheme implementation written in Java, based on compiling Scheme forms to Java byte-codes. It has developed into a powerful Scheme dialect whose strengths include speed and easy access to Java classes. It is Free Software that some companies depend on. The Kawa compiler and run-time environment have been generalized to implement other languages besides Scheme, both in the Lisp...
متن کاملKawa - Compiling Dynamic Languages to the Java VM
Many are interested in Java for its portable bytecodes and extensive libraries, but prefer a different language, especially for scripting. People have implemented other languages using an interpreter (which is slowed), or by translating into Java source (with poor responsiveness for eval). Kawa uses an interpreter only for “simple” expressions; all non-trivial expressions (such as function defi...
متن کاملJEmacs-The Java/Scheme-based Emacs
JEmacs is a re-implementation of the Emacs programmable text editor. It is written in Java, and uses the Swing GUI toolkit. Emacs is based on the extension language Emacs Lisp (Elisp), which is a dynamicallyscoped member of the Lisp family. JEmacs supports Elisp, as well as the use of Scheme, a more modern statically-scoped Lisp dialect. Both languages get compiled to Java bytecodes, either in ...
متن کاملCLOX: Common Lisp Objects for XEmacs
CLOX is an ongoing attempt to provide a full Emacs Lisp implementation of the Common Lisp Object System, including its underlying meta-object protocol, for XEmacs. This paper describes the early development stages of this project. CLOX currently consists in a port of Closette to Emacs Lisp, with some additional features, most notably, a deeper integration between types and classes and a compreh...
متن کاملCompiling with continuations
This paper describes the Orbit Scheme optimizing compiler. Orbit was one of the first practical compilers for Scheme, whereas most existing Scheme compilers at the time were research prototypes. The paper walks us through the phases of the compiler, explaining design decisions along the way. The result of this research is a production-quality Scheme compiler. It generates code that is competiti...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005